// Values.cs created with MonoDevelop
// User: kenw at 10:33 PM 6/3/2008
//
// To change standard headers go to Edit->Preferences->Coding->Standard Headers
//

using System;

namespace QDG.Powerball
{
	
	public class Values
	{

		static public readonly int Times = 0;
		static public readonly int Amount = 1;
		
		private int _nbrOfBoards;
		public int NbrOfBoards
		{
			get {return _nbrOfBoards;}
			set 
			{
				if (value < 1)
					_nbrOfBoards = 1;
				else if (value > 10)
					_nbrOfBoards = 10;
				else
					_nbrOfBoards = value;
			}
		}
		
		private bool _powerPlay;
		public bool PowerPlay
		{
			get {return _powerPlay;}
			set {_powerPlay = value;}
		}
		
		private long _winnings;
		public long Winnings
		{
			get {return _winnings;}
			set {_winnings = value;}
		}
		
		private int _drawingPowerBall;
		public int DrawingPowerBall
		{
			get {return _drawingPowerBall;}
			set { _drawingPowerBall = value;}
		}
		
		private int[] _drawing;
		public int[] Drawing
		{
			get {return _drawing;}
		}
		
		private int[] _pbResult;
		private ChildListIndexer<int> pbResult;
		public ChildListIndexer<int> PBResult
		{
			get {return pbResult;}
		}
		
		private int[] _pb1Result;
		private ChildListIndexer<int> pb1Result;
		public ChildListIndexer<int> PB1Result
		{
			get {return pb1Result;}
		}
		
		private int[] _pb2Result;
		private ChildListIndexer<int> pb2Result;
		public ChildListIndexer<int> PB2Result
		{
			get {return pb2Result;}
		}
		
		private int[] _pb3Result;
		private ChildListIndexer<int> pb3Result;
		public ChildListIndexer<int> PB3Result
		{
			get {return pb3Result;}
		}
		
		private int[] _pb4Result;
		private ChildListIndexer<int> pb4Result;
		public ChildListIndexer<int> PB4Result
		{
			get {return pb4Result;}
		}
		
		private int[] _jackpotResult;
		private ChildListIndexer<int> jackpotResult;
		public ChildListIndexer<int> JackpotResult
		{
			get {return jackpotResult;}
		}
		
		private int[] _ball3Result;
		private ChildListIndexer<int> ball3Result;
		public ChildListIndexer<int> Ball3Result
		{
			get {return ball3Result;}
		}
		
		private int[] _ball4Result;
		private ChildListIndexer<int> ball4Result;
		public ChildListIndexer<int> Ball4Result
		{
			get {return ball4Result;}
		}
		
		private int[] _ball5Result;
		private ChildListIndexer<int> ball5Result;
		public ChildListIndexer<int> Ball5Result
		{
			get {return ball5Result;}
		}
		
		private int _nbrOfPlays;
		public int NbrOfPlays
		{
			get {return _nbrOfPlays;}
			set {_nbrOfPlays = value;}
		}
		
		private double _yearsOfPlays;
		public double YearsOfPlays
		{
			get {return _yearsOfPlays;}
			set {_yearsOfPlays = value;}
		}
		
		public Values(R250 rnd)
		{
			NbrOfBoards = 1;
			PowerPlay = false;
			Winnings = 0;
			DrawingPowerBall = 0;
			_pbResult = new int[2];
			pbResult = new ChildListIndexer<int>(_pbResult);
			_pb1Result = new int[2];
			pb1Result = new ChildListIndexer<int>(_pb1Result);
			_pb2Result = new int[2];
			pb2Result = new ChildListIndexer<int>(_pb2Result);
			_pb3Result = new int[2];
			pb3Result = new ChildListIndexer<int>(_pb3Result);
			_pb4Result = new int[2];
			pb4Result = new ChildListIndexer<int>(_pb3Result);
			_jackpotResult = new int[2];
			jackpotResult = new ChildListIndexer<int>(_jackpotResult);

			_ball3Result = new int[2];
			ball3Result = new ChildListIndexer<int>(_ball3Result);
			_ball4Result = new int[2];
			ball4Result = new ChildListIndexer<int>(_ball4Result);
			_ball5Result = new int[2];
			ball5Result = new ChildListIndexer<int>(_ball5Result);
			
			NbrOfPlays = 0;
			YearsOfPlays = 0.0;
			
			_drawing = new int[6];
		}
	}
}
